package name.as3.cmdFrameworks.interfaces
{
import flash.display.DisplayObject;
import flash.interfaces.ISafeGlobalOwner;
import name.as3.cmdFrameworks.interfaces.addins.IMediator;
import name.as3.cmdFrameworks.interfaces.addins.IMediatorAddin;

internal interface IMediator_managerImpl extends ISafeGlobalOwner
{
	/**
	 *
	 */
	function addMediator(strType:String, 
						 obMediator:IMediator, 
						 obView:DisplayObject = null,
						 obAddins:Vector.<IMediatorAddin> = null,
						 strAddins:Vector.<Vector.<String>> = null,
						 dataAddins:Vector.<Vector.<Object>> = null):void;
	/**
	 *
	 */
	function removeMediator(strType:String, blHide:Boolean = false):void;
	/**
	 * 切换界面
	 */
	function switchMediator(arrType:Array,
							arrHide:Array,
							strType:String,
							obMediator:IMediator, 
							obView:DisplayObject = null,
							obAddins:Vector.<IMediatorAddin> = null,
							strAddins:Vector.<Vector.<String>> = null,
							dataAddins:Vector.<Vector.<Object>> = null):void;
	/**
	 *
	 */
	function getMediator(strType:String):IMediator;
}
}